package com.lyf.scm.plan.domain.service;

import com.github.pagehelper.PageInfo;
import com.lyf.scm.common.model.ExcelExportDataDTO;
import com.lyf.scm.plan.api.dto.DemandPlanDTO;
import com.lyf.scm.plan.api.dto.DemandPlanInfoDTO;

import java.util.List;

/**
 * description:
 *          需求计划
 * @author: haodong
 * @data: 2020/8/7 16:29
 */
public interface DemandPlanService {

    /**
     * 按条件查询需求计划
     *
     * @param demandPlan 需求计划
     * @return {@link PageInfo<DemandPlanInfoDTO>}
     */
    PageInfo<DemandPlanInfoDTO> listWeekBySelective(DemandPlanDTO demandPlan);

    /**
     * 查询需求计划的指标(时间范围-柱形图)
     *
     * @param demandPlan 需求计划
     * @return {@link List<DemandPlanInfoDTO>}
     */
    List<DemandPlanInfoDTO> listAllByCycles(DemandPlanDTO demandPlan);

    /**
     * 定时获取需求计划数据
     *
     * @param
     * @return {@link Integer}
     */
    Integer tidyData();

    /**
     * 导出excel
     *
     * @param demandPlanDTO 需求计划dto
     * @param type          类型
     */
    ExcelExportDataDTO exportExcel(DemandPlanDTO demandPlanDTO, Integer type);

    /**
     * 删除对应标识数据
     *
     * @param opSign
     */
    void delete(String opSign);
}
